/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package negocios;

import datos.BaseDeDatosDB;
import java.awt.Image;
import java.sql.Date;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Pablo
 */
public class Prenda {
    
  int id,num_usos,num_lavado;
  String nombre;
  Date ultimo_lavado;
  Estado_Prenda estado_prenda;
  Usuario usuario;
  Date fecha;
  Tipo_Prenda tipo_prenda;
  Color_Prenda color;
  Image foto;
  
    public Prenda() {
    }
  
  

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getNum_usos() {
        return num_usos;
    }

    public void setNum_usos(int num_usos) {
        this.num_usos = num_usos;
    }

    public int getNum_lavado() {
        return num_lavado;
    }

    public void setNum_lavado(int num_lavado) {
        this.num_lavado = num_lavado;
    }

    public Date getUltimo_lavado() {
        return ultimo_lavado;
    }

    public void setUltimo_lavado(Date ultimo_lavado) {
        this.ultimo_lavado = ultimo_lavado;
    }

    public Estado_Prenda getEstado_prenda() {
        return estado_prenda;
    }

    public void setEstado_prenda(Estado_Prenda estado_prenda) {
        this.estado_prenda = estado_prenda;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public Tipo_Prenda getTipo_prenda() {
        return tipo_prenda;
    }

    public void setTipo_prenda(Tipo_Prenda tipo_prenda) {
        this.tipo_prenda = tipo_prenda;
    }

    public Color_Prenda getColor() {
        return color;
    }

    public void setColor(Color_Prenda color) {
        this.color = color;
    }

    public Image getFoto() {
        return foto;
    }

    public void setFoto(Image foto) {
        this.foto = foto;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
  
     
  public boolean buscarIDE(String nombre,int idtipo, int idcolor)   {
        try {
            Prenda aux;
            BaseDeDatosDB prendaDB = new BaseDeDatosDB();
            aux = prendaDB.buscarIDEPrenda(nombre,idtipo,idcolor);
            setId(aux.getId());
            
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Prenda.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }
    
  public boolean buscar(int codigo)   {
        try {
            Prenda aux;
            BaseDeDatosDB prendaDB = new BaseDeDatosDB();
            aux = prendaDB.buscarPrendas(codigo);
            
            setNombre(aux.getNombre());
            setColor(aux.getColor());
            setEstado_prenda(aux.getEstado_prenda());
            setFoto(aux.getFoto());
            setFecha(aux.getFecha());
            /// faLta mas campos
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Prenda.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }
   public boolean grabar(String ruta) {
        try {
            BaseDeDatosDB prendaDB = new BaseDeDatosDB();
            prendaDB.grabarPrenda(this,ruta);
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Prenda.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null, ex.getMessage());
            return false;
        }
    }
     public boolean modificarFoto(String rut) {
        try {
            BaseDeDatosDB userDB = new BaseDeDatosDB();
            userDB.modificarFotoPrenda(this,rut);
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(Prenda.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null, ex.getMessage());
            return false;
        }
    }
}
